home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / Guru / cnetdevice / readme < prev    next >
Encoding:
Text File  |  1999-07-13  |  7.5 KB  |  213 lines

  1.        --------------------------------------------------------------
  2.        "cnet.device" An Experimental Amiga PCMCIA Network Card Driver
  3.        --------------------------------------------------------------
  4.                 V1.1 By Bruce Abbott (bhabbott@inhb.co.nz)
  5.  
  6.  
  7. Introduction:
  8.  
  9.   Many A1200 owners have been asking the question "will a PC-CARD work
  10.   on my Amiga?". The usual reply to this is "No, because there are no
  11.   drivers for the Amiga". It has also been suggested that the A1200
  12.   PCMCIA port is incompatible with the PC-CARD standard.
  13.  
  14.   With PC-CARD Modems and Ethernet cards being so cheap, it was only a
  15.   matter of time before "Only the Amiga makes it possible". Thus I now
  16.   present "cnet.device", an Amiga driver for the CNet CN40BC and Accton
  17.   EN2216 PC-CARD ethernet adapters!
  18.  
  19.  
  20.  
  21. Requirements:
  22.  
  23.   - A CNet CN40BC or Accton EN2216 PCMCIA Ethernet card. (Some other
  24.     cards have also been reported to work - see the compatibility list).
  25.  
  26.   - An Amiga 1200 or Amiga 600.
  27.  
  28.   - Network software. Tested with AmiTCP 3.0b, Miami 2.0g and Envoy 2.0
  29.  
  30.   - A network :^)
  31.  
  32.  
  33.  
  34. Usage:
  35.  
  36.   Simply copy the file "cnet.device" to where you want it (usually
  37.   "DEVS:networks/") and set up your network software for an ethernet
  38.   driver. For AmiTCP 3.0 this would involve editing the "interfaces"
  39.   file and adding a line like "cnet dev = devs:networks/cnet.device".
  40.   Then you would start it up with "ifconfig cnet0 192.168.0.1".
  41.  
  42.  
  43.  
  44. Performance:
  45.  
  46.   My network consists of an A1200 030/40MHz conected via co-ax cable
  47.   to a 486DX-33 running Windoze 95. Software on the Amiga is AmiTCP3.0b
  48.   and ch_NFS, and the pecee is using MSTCP/IP and SOSNT. This gives me
  49.   access to the peecee drives on the Workbench. With this setup, file
  50.   transfer speeds reach about 200KBytes/Sec. FTP transfers between my
  51.   A1200 and an A600 with Viper630 (030/40MHz) have acheived 300KBytes/Sec.
  52.  
  53.  
  54.  
  55. Limitations:
  56.  
  57.   The only way to remove the device from memory is to re-boot!
  58.  
  59.   A1200s require an internal modification to the CreditCardReset line
  60.   to ensure correct card initialisation. If you haven't done this mod,
  61.   you may need to wait until after powering up your A1200 before plugging
  62.   the card in. If the 'Link' LED stays on but you are using co-ax cable,
  63.   this indicates that the card is NOT working properly. Also, sometimes
  64.   the card can appear to be OK but still doesn't work correctly.
  65.  
  66.  
  67. Surf Squirrel Problems
  68.  
  69.   The Surf Squirrel SCSI/Serial adapter is not a proper PCMCIA card, and
  70.   has no attribute memory. Unfortunately, its driver takes over the PCMCIA
  71.   port and prevents other drivers from owning their cards. This will happen
  72.   whenever squirrelscsi.device is opened, even if the Surf Squirrel card is
  73.   never plugged in!
  74.  
  75.  
  76. Card_info Diagnostic Tool
  77.  
  78.   The 'card_info' program can be used to identify a PCMCIA card, and
  79.   will display a summary of its attributes. It also produces a binary
  80.   dump of the attribute and I/O memory, which can be analysed for more
  81.   detailed information. If you have an unknown card that doesn't seem
  82.   to work, run this program and send the 'card_info.bin' file to me -
  83.   after examining this I might be able to solve your problem.
  84.  
  85.  
  86. Example Network Files
  87.  
  88.  Because many people seem to have trouble setting up an Ethernet network,
  89.  I have included a copy of my own network configuration and startup script
  90.  files, which you can use as a template for your own installation. Please
  91.  change the username etc. to suit.
  92.  
  93.  
  94. History:
  95.  
  96.    V0.1 First Aminet Release
  97.  
  98.    - It worked, just.
  99.  
  100.  
  101.    V0.4 Second Aminet Release
  102.  
  103.    - Added several SANAII commands for compatibility with Miami.
  104.  
  105.    - Enabled interrupts during RemoteWrite. Should no longer cause
  106.      serial port overruns.
  107.  
  108.    - Improved error checking in case of card initialisation failure.
  109.      Now doesn't GURU if device is opened twice! Also tested it with
  110.      Enforcer, which did not detect any illegal memory accesses.
  111.  
  112.    - Relaxed hardware address verification to accept the Accton EN2216.
  113.      Now it might possibly work with other 'NE2000 compatible' cards.
  114.  
  115.    - Unrolled loops to improve data transfer speed. Now about 20% faster
  116.      on an unexpanded A600. Code size got bigger as a result :(
  117.  
  118.    - Hack to fix problem with missed interrupts. Now the device clears
  119.      the Gayle interrupt bits instead of letting card.resource do it.
  120.  
  121.  
  122.    V0.5  Third Aminet Release
  123.  
  124.    - Accepts 802.3 packets (probably, untested).
  125.  
  126.    - Sets BROADCAST bit in io_flags when appropriate.
  127.  
  128.    - Now examines PCMCIA attribute memory to determine the value to write
  129.      into the Card Configuration Register. This should work with all NE2000
  130.      compatible PCMCIA network cards, even those with different CCR offsets.
  131.  
  132.    - If attribute memory is not found, cnet.device tries to open the file
  133.      "s:cnetdev.config" and read from it the Card Configuration Register
  134.      offset, Configuration ID, and ROM Station Address. This often revives
  135.      a card that did not power up properly. The 'cnetconfig' program is
  136.      supplied for creating this file.
  137.  
  138.  
  139.    V0.6 Fourth Aminet Release
  140.  
  141.    - Removed cnet.config stuff, and replaced with a hardware mod. This
  142.      mod should be done on all A1200s (not required on the A600).
  143.  
  144.    - Now cards are hot-swappable. As a result, only proper network
  145.      cards will be accepted. Other types of cards are ignored so
  146.      that other drivers can access them.
  147.  
  148.    - I/O addressing now supports a 64KByte range. Previously this was
  149.      only 1KB, which may have prevented some cards from working.
  150.  
  151.    - Accepts all Card Configuration Register address sizes (previously
  152.      the address was assumed to be 16bit, but some cards are 24 bit!).
  153.  
  154.    - Tighter data transfer loops, which are slightly faster on a
  155.      machine with small CPU caches (eg. 68030).
  156.  
  157.    - Un-supported commands now return S2ERR_NOT_SUPPORTED.
  158.  
  159.    - 'card_info' program provided for viewing card attributes.
  160.  
  161.    v0.7  Fifth Aminet Release
  162.  
  163.    - fixed harmless bug in init_nic - remote DMA timeout test
  164.      could not fail!
  165.  
  166.    - Now remembers copytobuf/copyfrombuf tags for each opener.
  167.      Allows simultaneous use of eg. AmiTCP and Envoy.
  168.  
  169.    - OnEvent types ONLINE and OFFLINE now return immediately
  170.      if the device is already in the wanted state.
  171.  
  172.    v0.9  Sixth Aminet release
  173.  
  174.    - fixed bug in OnEvent: was using wrong register to test ONLINE flag.
  175.  
  176.    - Added support for multicasting, statistics, orphan packets, exclusive
  177.      and promiscuous modes.
  178.  
  179.    v1.0  Seventh Aminet release
  180.  
  181.    - Fixed bug in readpacket: Broadcast packets were also being identified
  182.      as Multicast.
  183.  
  184.    v1.1  Eigth Aminet release
  185.  
  186.    - Fixed bug: delmulticast always failed due to bad testing
  187.      for multicast address match.
  188.  
  189.    - Fixed bug: readpacket was getting incorrect src and dst
  190.      addresses (A4 was pointing to prhdr instead of etherhdr).
  191.  
  192.    - Included put_multi in init_nic (need to reload multicast
  193.      bits if card is removed and re-inserted)
  194.  
  195.    - Added 4 to rx ios2_datalength in raw mode. Shapeshifter
  196.      seems to need this (why?)
  197.  
  198.  
  199. Legal Mush:
  200.  
  201.   To encourage further development in PC-CARD devices for the Amiga, I am
  202.   placing the source code for this project into the Public Domain. You
  203.   can freely use or abuse it as you wish. I have also included some other
  204.   authors' code for reference purposes, please respect their copyrights.
  205.  
  206.   Please note that this driver is not a finished product, and is almost
  207.   certain to harbour a few bugs. Thus I will not be held responsible for
  208.   any loss or injury that you may incur while using it.
  209.  
  210.   I cannot guarantee compatibility with your system. All I can say is it
  211.   works for me.
  212.  
  213.